package com.cly.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * 消息类型枚举
 *
 * @author by 春风能解释
 * <p>
 * 2025/1/22
 */
@AllArgsConstructor
@Getter
@NoArgsConstructor
public enum MessageType {
    /**
     * 登录
     */
    USER_LOGIN(1, "登录"),
    /**
     * 发送消息
     */
    SEND_MESSAGE(2, "发送消息"),
    /**
     * 接收视频邀请
     */
    ACCEPT_VIDEO_CALL(3, "接收视频邀请"),
    /**
     * 接受视频通话
     */
    RECEIVE_VIDEO_CALL(4, "接受视频通话"),
    /**
     * offer阶段
     */
    OFFER(5, "offer"),
    /**
     * answer阶段
     */
    ANSWER(6, "answer阶段"),
    /**
     * 设置answer
     */
    SET_ANSWER(7, "设置answer"),
    /**
     * 设置candidate
     */
    CANDIDATE(8, "设置candidate"),
    /**
     * 关闭视频通话
     */
    CLOSE_CALL(9, "关闭视频通话"),
    /**
     * 发送文件
     */
    SEND_FILE(10, "发送二进制消息");

    /**
     * 枚举值
     */
    @EnumValue
    private Integer value;
    /**
     * 展示值
     */
    @JsonValue
    private String name;


}
